package com.mc.code.mapper;

import com.mc.code.entity.CodeItems;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface ItemsMapper {
    //    未登陆时的项目列表
    List<CodeItems> items(int num);

    //根据项目编号获取项目详情
    List<CodeItems> itemsDetails(int itemNo);

    //项目当前阶段数
  int itemsStageNum(Integer itemNo);

//  项目总阶段数
    int itemsTotalNum(Integer itemNo);


    int itemsEndNo();

    Integer collection(@Param("userNo") int userNo,@Param("itemNo") int itemNo);

    void delCollection(@Param("itemNo") int itemNo,@Param("userNo") int userNo);

    void addCollection(@Param("itemNo") int itemNo,@Param("userNo") int userNo);

    int collectionNum(@Param("itemNo") Integer itemNo);

//    发布项目
    void releaseProject(@Param("codeItems") CodeItems codeItems);

//    查看我的收藏
    List<CodeItems> collectItems(@Param("userNo") String userNo,@Param("currentPage") int currentPage, @Param("pageCount") int pageCount);
//查看我的发布
    List<CodeItems> releaseItems(@Param("userNo") String userNo,@Param("currentPage") int currentPage,@Param("pageCount") int pageCount);

//    启动项目
    void updateItemDid(@Param("itemNo") Integer itemNo,@Param("start") Integer start);

    void delItemsPratake(@Param("itemNo") Integer itemNo);

    void delItemsItems(@Param("itemNo") Integer itemNo);

    void delItemscollection(@Param("itemNo") Integer itemNo);

    void insertPartake(@Param("userNo") String userNo,@Param("itemNo") Integer itemNo);

    Integer selectPartake(@Param("userNo") String userNo, @Param("itemNo") Integer itemNo);

    void delPartake(@Param("userNo") String userNo, @Param("itemNo") Integer itemNo);

    List<CodeItems> partakeItems(String partakeNo);

    List<CodeItems> findItems(@Param("currentPage") int currentPage, @Param("pageCount") int pageCount,@Param("itemType") String itemType,@Param("itemDid") String itemDid);

    int getTotalPage(@Param("itemType") String itemType,@Param("itemDid") String itemDid);

    Integer getMyRealseTotalPage(String userNo);

    Integer getMyCollectionTotalPage(String userNo);
}
